package com.yunyao.framework.service;

import com.yunyao.common.dto.excel.ProjectOrderExcelDto;
import com.yunyao.common.dto.excel.SupplyOrderExcelDto;
import com.yunyao.common.dto.order.SupplyOrderDto;
import com.yunyao.common.web.util.PageResult;
import com.yunyao.common.web.util.YResult;
import com.yunyao.framework.dto.reconciliation.ReconciliationSaveDto;
import com.yunyao.framework.dto.supplyorder.SupplyOrderSaveDto;
import com.yunyao.framework.vo.projectorder.ProjectMaterialVO;
import com.yunyao.framework.vo.supplyorder.SupplyMaterialVO;
import com.yunyao.framework.vo.supplyorder.SupplyOrderVO;

import java.util.List;

/**
 * 项目订单
 * @author chenyejian
 * @date 2024-07-16
 */
public interface SupplyOrderService {
    /**
     * 根据条件分页查询项目列表
     * @param   supplyOrderDto
     * @return
     */
    YResult<PageResult<SupplyOrderVO>> pageList(SupplyOrderDto supplyOrderDto);

    YResult<SupplyOrderVO> getOrderDetailById(String id);

    YResult<String> saveOrUpdate(SupplyOrderSaveDto supplyOrderSaveDto);

    YResult<String> deleteByIds(String[] ids);

    YResult<String> audit(SupplyOrderDto orderDto);

    YResult<String> saveposupply(SupplyOrderSaveDto saveDto);

    /**
     * 项目订单材料表总和
     * @param   orderId
     * @return
     */
    YResult<SupplyMaterialVO> materialListCount(String orderId);

    List<SupplyOrderExcelDto> export(SupplyOrderDto supplyOrderDto);

}
